package com.zret.oasys.dao;

import java.util.List;

import com.zret.oasys.dbtools.PageData;
import com.zret.oasys.entity.Emp;
import com.zret.oasys.entity.EmpDeptPosition;

public interface EmpDao {
	/**
	 * 查找所有员工
	 * @return 返回查找到的结果集 
	 */
	public List<Emp> getEmps();
	/**
	 * 删除员工的方法
	 * @param empid
	 * @return 删除成功 true 删除失败false
	 */
	public boolean deleteEmps(int empid);
	/**
	 * 通过入职时间区间查找员工
	 * @param firsttime
	 * @param lasttime
	 * @return 返回查找到的结果集
	 */
	public List<Emp> getEmpsByTime(String startTime,String endTime);
	/**
	 * 增加员工
	 * @param emp
	 * @return 添加成功true 添加失败false
	 */
	public boolean addEmps(Emp emp);
	/**
	 * 修改员工
	 * @param emp
	 * @return  修改成功true 修改失败false
	 */
	public boolean updateEmp(Emp emp);

	/**
	 * 通过员工名字查找员工
	 * @param name
	 * @return 返回list集合
	 */
	public List<Emp> getEmpsByName(String name);
	/**
	 * 通过员工id名字查找员工
	 * @param empid 通过员工id查找
	 * @return  查找到的emp对象
	 */
	public Emp getEmpsById(int empid);
	/**
	 * 通过用户名查询员工
	 * @param username
	 * @return 查找到的emp对象
	 */
	public Emp getEmpsByUsername(String username);
	/**
	 * 员工类分页查询
	 * @param page 页数
	 * @param pageSize 每页个数
	 * @return  PageData<Emp> 结果集
	 */
	public PageData<Emp> getEmpsByPage(int page,int pageSize);
	
	public PageData<Emp> getEmpsByPage(int page,int pageSize,String empname);
	/**
	 * 登录判定用户名密码
	 * @param username
	 * @param password
	 * @return
	 */
	public List<Emp> GetLogin(String username, String password);
	/**
	 * 更改用户密码
	 * @param username
	 * @param newpwd
	 * @return
	 */
	
	public boolean changePwd(String username, String newpwd);
	/**
	 * 分页多表查询部门+员工+权限
	 */
	public PageData<EmpDeptPosition> getEmpDeptPositionByPage(int page,int pageSize,String key);
 
	/**
	 * 得到上级经理名字方法
	 */
	
   public List<Emp> getEmpManager(int empid); 
}
